package com.lswms.modules.lswms.entity.base;

import java.math.BigDecimal;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.lswms.common.entity.LswmsBaseEntity;

import cn.afterturn.easypoi.excel.annotation.Excel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * ${comments}
 *
 * @author DX sunlightcs@gmail.com
 * @since 1.0.0 2021-06-06
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("lswms_sku")
public class SkuEntity extends LswmsBaseEntity {
	private static final long serialVersionUID = 1L;

	/**
	 * 商品编码
	 */
	@TableField(value = "sku")
	private String sku;
	/**
	 * 商品名称
	 */
	@TableField(value = "descr")
	private String descr;
	/**
	 * 包装
	 */
	@TableField(value = "pack")
	private String pack;
	/**
	 * 分类
	 */
	@TableField(value = "sort")
	private String sort;
	/**
	 * 单位
	 */
	@TableField(value = "unit")
	private String unit;
	/**
	 * 重量
	 */
	@TableField(value = "weight")
	private Integer weight;
	/**
	 * 长度
	 */
	@TableField(value = "length")
	private Integer length;
	/**
	 * 宽度
	 */
	@TableField(value = "width")
	private Integer width;
	/**
	 * 高度
	 */
	@TableField(value = "height")
	private Integer height;
	/**
	 * 批次规则
	 */
	@TableField(value = "lotrule")
	private String lotrule;
	/**
	 * 唯一码管理
	 */
	@TableField(value = "isuniquecode")
	private String isuniquecode;
	/**
	 * 物料状态
	 */
	@TableField(value = "status")
	private String status;
	/**
	 * 上架策略
	 */
	@TableField(value = "strategykey")
	private String strategykey;
	/**
	 * 上架区
	 */
	@TableField(value = "zonecode")
	private String zonecode;
	/**
	 * 分配策略
	 */
	@TableField(value = "allocationstrategy")
	private String allocationstrategy;

	/**
	 * 备用字段1
	 */
	@TableField(value = "reserve1")
	private String reserve1;
	/**
	 * 备用字段2
	 */
	@TableField(value = "reserve2")
	private String reserve2;
	/**
	 * 备用字段3
	 */
	@TableField(value = "reserve3")
	private String reserve3;
	/**
	 * 备用字段4
	 */
	@TableField(value = "reserve4")
	private String reserve4;
	/**
	 * 备用字段5
	 */
	@TableField(value = "reserve5")
	private String reserve5;

	/**
	 * 周转
	 */
	@TableField(value = "rolateby")
	private String rolateby;

	/**
	 * 规格
	 */
	@TableField(value = "specs")
	private String specs;

	/**
	 * 是否消耗品
	 */
	@TableField(value = "isconsumable")
	private String isconsumable;

	/**
	 * 价格
	 */
	@TableField(value = "price")
	private BigDecimal price;

	/**
	 * 生成厂家
	 */
	@TableField(value = "factory")
	private String factory;

	/**
	 * 厂家条码
	 */
	@TableField(value = "factorycdoe")
	private String factorycdoe;

	/**
	 * 名称
	 */
	@TableField(value = "name")
	private String name;

	/**
	 * 安全库存
	 */
	@TableField(value = "safetyqty")
	private BigDecimal safetyqty;

	/**
	 * 精度等级
	 */
	@TableField(value = "accuracyclass")
	private String accuracyclass;

	/**
	 * 有效期天数
	 */
	@TableField(value = "effectlife")
	private BigDecimal effectlife;

	/**
	 * 提前预警天数
	 */
	@TableField(value = "warningdays")
	private BigDecimal warningdays;

	@TableField(value = "product")
	private String product;
	
	@TableField(exist = false)
	private String categoryname;
	@TableField(exist = false)
	private String isconsumablestr;
	@TableField(exist = false)
	private String isuniquecodestr;
	@TableField(exist = false)
	private String rolatebystr;
	@TableField(exist = false)
	private String strategyname;
	@TableField(exist = false)
	private String allocationstrategyname;
	@TableField(exist = false)
	private String zonename;

    @TableField(value = "minimum")
    private Integer minimum;

    @TableField(value = "unitprice")
    private Integer unitprice;
}
